package com.pid.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pid.common.annotation.Excel;

import java.util.Date;

public class SysContractInfoAll {
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    /** 合同ID */
    @Excel(name = "合同ID")
    private Long contractId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 附件ID */
    @Excel(name = "附件ID")
    private Long attachmentId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNum;

    /** 客户类型 */
    @Excel(name = "客户类型")
    private String customerType;

    /** 合同签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractSignDate;

    /** 合同正式开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同正式开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractStartDate;

    /** 合同正式结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同正式结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractEndDate;

    /** 合同有效期 */
    @Excel(name = "合同有效期")
    private String contractValidityPeriod;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String unitName;

    /** 用户数量 */
    @Excel(name = "用户数量")
    private String userNum;

    /** PID数量 */
    @Excel(name = "PID数量")
    private String pidNum;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private String contractAmount;

    /** 付款状态 */
    @Excel(name = "付款状态")
    private String paymentStatus;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractType;

    /** 签约类型(线上/线下) */
    @Excel(name = "签约类型(线上/线下)")
    private String signType;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private String contractStatus;

    /** 合同备注 */
    @Excel(name = "合同备注")
    private String remarks;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 锁定标志（0代表存在 1代表锁定） */
    private String lockFlag;

    /** 废除标志（0代表存在 1代表废除） */
    private String abolishFlag;

    private String uploadPath;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Long getAttachmentId() {
        return attachmentId;
    }

    public void setAttachmentId(Long attachmentId) {
        this.attachmentId = attachmentId;
    }

    public String getContractNum() {
        return contractNum;
    }

    public void setContractNum(String contractNum) {
        this.contractNum = contractNum;
    }

    public String getCustomerType() {
        return customerType;
    }

    public void setCustomerType(String customerType) {
        this.customerType = customerType;
    }

    public Date getContractSignDate() {
        return contractSignDate;
    }

    public void setContractSignDate(Date contractSignDate) {
        this.contractSignDate = contractSignDate;
    }

    public Date getContractStartDate() {
        return contractStartDate;
    }

    public void setContractStartDate(Date contractStartDate) {
        this.contractStartDate = contractStartDate;
    }

    public Date getContractEndDate() {
        return contractEndDate;
    }

    public void setContractEndDate(Date contractEndDate) {
        this.contractEndDate = contractEndDate;
    }

    public String getContractValidityPeriod() {
        return contractValidityPeriod;
    }

    public void setContractValidityPeriod(String contractValidityPeriod) {
        this.contractValidityPeriod = contractValidityPeriod;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUserNum() {
        return userNum;
    }

    public void setUserNum(String userNum) {
        this.userNum = userNum;
    }

    public String getPidNum() {
        return pidNum;
    }

    public void setPidNum(String pidNum) {
        this.pidNum = pidNum;
    }

    public String getContractAmount() {
        return contractAmount;
    }

    public void setContractAmount(String contractAmount) {
        this.contractAmount = contractAmount;
    }

    public String getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(String paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getSignType() {
        return signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(String contractStatus) {
        this.contractStatus = contractStatus;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getLockFlag() {
        return lockFlag;
    }

    public void setLockFlag(String lockFlag) {
        this.lockFlag = lockFlag;
    }

    public String getAbolishFlag() {
        return abolishFlag;
    }

    public void setAbolishFlag(String abolishFlag) {
        this.abolishFlag = abolishFlag;
    }

    public String getUploadPath() {
        return uploadPath;
    }

    public void setUploadPath(String uploadPath) {
        this.uploadPath = uploadPath;
    }

    @Override
    public String toString() {
        return "SysContractInfoAll{" +
                "contractId=" + contractId +
                ", customerId=" + customerId +
                ", attachmentId=" + attachmentId +
                ", contractNum='" + contractNum + '\'' +
                ", customerType='" + customerType + '\'' +
                ", contractSignDate=" + contractSignDate +
                ", contractStartDate=" + contractStartDate +
                ", contractEndDate=" + contractEndDate +
                ", contractValidityPeriod='" + contractValidityPeriod + '\'' +
                ", unitName='" + unitName + '\'' +
                ", userNum='" + userNum + '\'' +
                ", pidNum='" + pidNum + '\'' +
                ", contractAmount='" + contractAmount + '\'' +
                ", paymentStatus='" + paymentStatus + '\'' +
                ", contractType='" + contractType + '\'' +
                ", signType='" + signType + '\'' +
                ", contractStatus='" + contractStatus + '\'' +
                ", remarks='" + remarks + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", lockFlag='" + lockFlag + '\'' +
                ", abolishFlag='" + abolishFlag + '\'' +
                '}';
    }
}
